﻿// Infrastructure/Connections/IDatabaseConnectionFactory.cs

using SqlSugar;

namespace DatabaseManager.Infrastructure.Connections
{
    /// <summary>
    /// 数据库连接工厂接口，定义创建数据库连接的标准方法
    /// 采用工厂模式设计，负责封装数据库连接的创建逻辑
    /// </summary>
    public interface IDatabaseConnectionFactory
    {
        /// <summary>
        /// 创建系统数据库连接客户端
        /// 系统数据库通常指应用程序自身依赖的核心数据库（如配置库、权限库等）
        /// </summary>
        /// <returns>SqlSugar客户端实例，用于数据库操作</returns>
        ISqlSugarClient CreateSystemConnection();

        /// <summary>
        /// 创建目标数据库连接客户端
        /// 目标数据库通常指应用程序需要管理或操作的外部业务数据库
        /// </summary>
        /// <param name="dbType">数据库类型（如mysql、sqlserver、oracle等）</param>
        /// <param name="connectionString">数据库连接字符串</param>
        /// <returns>SqlSugar客户端实例，用于指定数据库的操作</returns>
        ISqlSugarClient CreateTargetConnection(string dbType, string connectionString);
    }
}
